피드백 질문

미들웨어에서 auth()->check() 관련 질문

App\Http\Kernel.php

...

protected $middlewareGroups = [

    'web' => [

        \App\Alrimi::class,

        ...

    ]

    ...

]

 

App\alrimi.php

....

public function handle($request, Clouser $next)

{

    // 변수 설정
        $alrimLink = array();
        $alrimContent = array();
        if (auth()->check()) {
            $results = DB::select('SELECT * FROM laon_alrimi WHERE users_id = (?) AND read_at = 0', array(auth()->user()->email));
            foreach ($results as $result) {
                $alrimLink[] = $result->link;
                $alrimContent[] = $result->content;
            }
            $compact = compact(
                'alrimLink', 'alrimContent'
            );

            view()->share($compact);
        } else {
            $alrimLink = "A";
            $alrimContent = "B";
            $compact = compact(
                'alrimLink', 'alrimContent'
            );

            view()->share($compact);
        }
        return $next($request);

}

 

resource\views\layout\basic.blade.php

{{ $alrimLink }}

...

 

라온보드 게시판과, MPUG 단톡방, 다른 미들웨어 소스를 참고하며 테스트 코드를 만들어보았습니다.

근데 로그인을 하든, 회원가입을 하든, A만 출력이 됩니다.

미들웨어에서 로그인 여부를 파악할려면 auth()->check()라고 게시판에서 보았고 또 다른 미들웨어에서도 저런 식으로 사용하는데 이 문제는 윈도우 환경이라서 그런걸까요 아님, 다른 문제가 있어서 그럴까요.

 

 

 

추천 0 비추천 0

댓글 2개

Kernel.php 의 미들웨어 그룹 배열의 web 항목에 보시면

// 설치가 되었는지 검사
\App\Http\Middleware\CheckInstall::class,
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
// \Illuminate\Session\Middleware\AuthenticateSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
// 설정 등록
\App\Http\Middleware\ConfigRegister::class,

이런식으로 되어 있을겁니다.
\App\Alrimi::class, 이 클래스를 \Illuminate\Session\Middleware\StartSession::class,
다음에 실행하게 하셔야 의도한대로 동작할 것입니다. StratSession 다음에 어디에 두셔도 상관없습니다.

로그인이라는게 세션에 로그인 정보를 담는 작업이니
라라벨 세션을 시작시켜줘야 auth()->check() 가 제대로 동작하는 걸로 생각되네요.
전체 10건 1페이지
번호 제목 글쓴이 날짜 조회 추천 비추천
10 질문

게시판의 빨간색부분을 눌렸을떄 글내용말고 딴 링크로 넘어갈수있게 만드는법좀 알려주세요

2
라온보드 01/18 0 0 0
9 질문

모듈을 이용한 테마,스킨만들기

땀모 12/18 12891 0 0
8 질문

소셜로그인 에러화면입니다.

2
땀모 12/08 0 0 0
7 질문

에디터를 변경 할 수 있는지 알고 싶습니다.

2
아파치 10/12 5705 0 0
열람중 질문

미들웨어에서 auth()->check() 관련 질문

2
컴쿨 09/26 10873 0 0
5 제안

카테고리 질문|답변|피드백 에서..

1
마젠토 09/24 11102 1 0
4 질문

항상 로드되는 컨트롤러 파일이 있나요?

7
컴쿨 09/21 19218 0 0
3 질문

Notification 알림 관련 질문

컴쿨 09/20 15069 0 0
2 질문

질문하겠습니다

1
jihwan 09/19 10616 0 0
1 질문

윈도우 valet기반 설치시 질문

4
mkan 09/19 13586 0 0